package com.he.security.config.annotation.web.builders;

import com.he.security.config.annotation.AbstractConfiguredSecurityBuilder;
import com.he.security.config.annotation.ObjectPostProcessor;
import com.he.security.config.annotation.SecurityBuilder;
import com.he.security.config.annotation.web.AbstractRequestMatcherRegistry;
import com.he.security.web.util.matcher.RequestMatcher;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.ldap.filter.Filter;

import java.util.ArrayList;
import java.util.List;

public final class WebSecurity extends AbstractConfiguredSecurityBuilder<Filter, WebSecurity> implements SecurityBuilder<Filter>, ApplicationContextAware {
    private final Log logger = LogFactory.getLog(getClass());

    private final List<RequestMatcher> ignoredRequest = new ArrayList<>();

    protected WebSecurity(ObjectPostProcessor<Object> objectObjectPostProcessor) {
        super(objectObjectPostProcessor);
    }


    @Override
    protected Filter doBuild() throws Exception {
        return null;
    }

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {

    }

    public class IgnoredRequestConfigurer extends AbstractRequestMatcherRegistry<IgnoredRequestConfigurer> {

    }


}
